#ifndef __XSIP_BIG_REQUEST_H__
#define __XSIP_BIG_REQUEST_H__
#include "xtransactionstate.h"
#include "DelayQueue.hh"
class XSIPTranaction;

class XSIPBigClientTransactionState : public XSIPTransactionState {
public:
	XSIPBigClientTransactionState(void* transaction);
	~XSIPBigClientTransactionState();

	virtual int touch();
	virtual void complete();
	virtual void timeout();
private:
	DelayQueueEntry *m_retran;
	DelayQueueEntry *m_timeout;
	int m_ts;
	int m_ack;
};

class XSIPBigServerTransactionState : public XSIPTransactionState {
public:
	XSIPBigServerTransactionState();
	~XSIPBigServerTransactionState();

	virtual int touch();
	virtual void complete();
	virtual void timeout();
private:
	DelayQueueEntry *m_retran;
	DelayQueueEntry *m_timeout;
	int m_ts;
	int m_contentIndex;
};

#endif